/**
 * axios的封装
 */
import axios from 'axios'
import {
  Toast
} from 'vant'
import storage from './storage'

// 1.创建一个请求
const Http = axios.create({
  baseURL: process.env.Vue_APP_BASE_URL,
  timeout: 20000,
  headers: {
    "Content-Type": 'application/json',
  }
})

//2. 添加请求拦截器
Http.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  config.headers.common['X-Token'] = storage.session.get('token') || 'X-Token'

  return config;
}, function (error) {
  // 对请求错误做些什么
  console.log(err);

  return Promise.reject(error);
});

//3. 添加响应拦截器
Http.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log(response);
  return response;
}, function (error) {
  // 对响应错误做点什么
  console.log(err);

  return Promise.reject(error);
});

// 4.导出axios请求函数
export default (method = "get", params = {},headers={}) => {
  if (method.toLowerCase() === 'get') {
    return Http.get({
      headers:headers,
      params: params
    })
  } else if (method.toLowerCase() === 'post') {
    return Http.post(params)
  }
}